<template>
  <div class="main">
    main
    <button @click="btnClick"></button>
  </div>
</template>

<script>
export default {
  name: 'Main',
  data () {
    return {

    }
  },
  methods: {
    // btnClick () {
    //   const o1 = {
    //     name: 'o1',
    //     fn: function () {
    //       console.log(this.name)
    //     }
    //   }
    //   const o2 = {
    //     name: 'o2'
    //     // fn: o1.fn
    //   }
    //   o2.fn = o1.fn
    //   o1.fn()
    //   o2.fn()
    // },
    // gen () {
    //   function* fib(max) {
    //     var t,
    //         a = 0,
    //         b = 1,
    //         n = 0
    //     while (n < max) {
    //         yield a
    //         [a, b] = [b, a + b]
    //         n ++
    //     }
    //     return
    //   }

    //   var f = fib(5)
    //   f.next() // {value: 0, done: false}
    //   f.next() // {value: 1, done: false}
    //   f.next() // {value: 1, done: false}
    //   f.next() // {value: 2, done: false}
    //   f.next() // {value: 3, done: false}
    //   f.next() // {value: undefined, done: true}
    // }
  },
  mounted () {
    // console.log(1)
    // // 宏任务1
    // setTimeout(() => {
    //   console.log(2)
    //   // 微任务
    //   Promise.resolve().then(() => {
    //     console.log(3)
    //   })
    // })
    // // 正常流程
    // new Promise((resolve, reject) => {
    //   console.log(4)
    //   resolve(5)
    //   // 微任务
    // }).then(data => {
    //   console.log(data)
    // })
    // // 宏任务
    // setTimeout(() => {
    //   console.log(6)
    // })
    // console.log(7)
  }
}
</script>

<style lang="scss">

</style>
